package main

import (
	"fmt"
	"reflect"
)

// 结构体
// 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。
// 结构体表示一项记录，比如保存图书馆的书籍记录，每本书为结构体的一个实例。
// 结构体中的数据称为字段。
type Person_h struct {
	fistName string
	lastName string
	ageg     int
}

type Employee_h struct {
	Person_h
	employeeId int
}

func (p Person_h) details() {
	fmt.Println(p, " "+" I am a person")
}

func (e Employee_h) details() {
	fmt.Println(e, " "+" I am a employee")
}

func main() {
	x := Person_h{
		fistName: "Lidi",
		lastName: "Huo",
		ageg:     27,
	}
	fmt.Println(x, reflect.TypeOf(x))
	fmt.Println(x.fistName)

	p1 := Person_h{"Raj", "Kumar", 25}
	p1.details()

	e1 := Employee_h{Person_h{"Sam", "Anderson", 55}, 6}
	e1.details()
}
